--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Commit 965a4b81ec2a3d675ba9e9a5af1c7c25ffd20840
Parents : 59e6602
Author : Ivan <ivan@quad4.io>
Signature : Invalid signer <e46112d44649266d71fe2193e00a4710>, author is <ivan@quad4.io>
Date : 2026-07-17T17:32:32-05:00
feat: add Coolify Docker Compose configuration for MeshChatX deployment
Changes
Diff
diff --git a/docker-compose.coolify.yml b/docker-compose.coolify.yml
new file mode 100644
index 00000000..3e005f41
--- /dev/null
+++ b/docker-compose.coolify.yml
@@ -0,0 +1,47 @@
+# Coolify Docker Compose deployment for MeshChatX.
+# https://coolify.io/docs/knowledge-base/docker/compose
+#
+# In Coolify, assign a domain with container port 8000, for example:
+# https://meshchatx.example.com:8000
+# Coolify terminates TLS at the proxy. This stack serves plain HTTP inside the
+# container (MESHCHAT_NO_HTTPS=1) so Traefik can reach it without a self-signed
+# backend cert. Do not publish host ports unless you intend to bypass the proxy.
+
+services:
+ reticulum-meshchatx:
+ image: ${MESHCHAT_IMAGE:-quad4io/meshchatx:latest}
+ restart: unless-stopped
+ security_opt:
+ - no-new-privileges:true
+ expose:
+ - "8000"
+ environment:
+ - MESHCHAT_NO_HTTPS=${MESHCHAT_NO_HTTPS:-1}
+ - MESHCHAT_AUTH=${MESHCHAT_AUTH:-1}
+ - MESHCHAT_PORT=${MESHCHAT_PORT:-8000}
+ volumes:
+ - meshchatx-config:/config
+ healthcheck:
+ test:
+ [
+ "CMD",
+ "python",
+ "-c",
+ "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/api/v1/status')",
+ ]
+ interval: 30s
+ timeout: 5s
+ retries: 3
+ start_period: 90s
+ deploy:
+ resources:
+ limits:
+ cpus: "2.0"
+ memory: 1G
+ pids: 512
+ reservations:
+ cpus: "0.25"
+ memory: 256M
+
+volumes:
+ meshchatx-config:
diff --git a/meshchatx.rsm b/meshchatx.rsm
index 08d2377e..da7b67b5 100644
Binary files a/meshchatx.rsm and b/meshchatx.rsm differ
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────